package org.cliff.message.platform.core.response;

import org.cliff.message.platform.core.domain.ReceivedMessage;

/**
 * 通用响应生成器，在进行幂等性控制等情况时
 * 系统集成本平台组件时可以扩展本实现生成自定义的响应
 * @author 刘文
 * @date 2023/10/16
 */
public class CommonResponseBuilder {

    /**
     * 生成幂等性控制响应
     * @param receivedMessage
     * @return Object类型，方便其他机系统集成的时候，适配生成本系统的响应类型，而无需集成自
     */
    public Object buildIdempotentControlResponse(ReceivedMessage receivedMessage) {
        CommonResponse commonResponse = new CommonResponse();
        //数据状态=N 无需处理，处理信息栏位填写对应成功和处理中的传输ID，插入反馈接口当前传输ID反馈状态W-警告
        commonResponse.setMessageId(receivedMessage.getId());
        commonResponse.setBusinessId(receivedMessage.getBusinessId());
        commonResponse.setStatus("W");
        commonResponse.setDataStatus("N");
        commonResponse.setMessage("幂等性控制：数据传输重复无需处理");
        return commonResponse;
    }
}
